如果需要在SpringApplication
启动后执行一些特殊的代码,你可以实现ApplicationRunner
或CommandLineRunner
接口,这两个接口工作方式相同,都只提供单一的run
方法,该方法仅在SpringApplication.run(…)
完成之前调用。
CommandLineRunner
接口能够访问string数组类型的应用参数,而ApplicationRunner
使用的是上面描述过的ApplicationArguments
接口:
import org.springframework.boot.*
import org.springframework.stereotype.*
@Component
public class MyBean implements CommandLineRunner {
public void run(String... args) {
// Do something...
}
}
如果某些定义的CommandLineRunner
或ApplicationRunner
beans需要以特定的顺序调用,你可以实现org.springframework.core.Ordered
接口或使用org.springframework.core.annotation.Order
注解。